﻿/*
 ***************************************************************************
 * Microsoft Visual C# .NET
 * 名称：       Shpm.App.Input.Dao.PersonJobDao
 * 类型：       数据访问层
 * 功能说明：   职位信息数据对象
 * 作者：       黄鑫
 * 创建日期：   2007/10/30
 * 修改日期     修改者      修改内容
 * 
 * 
 * ---
 ***************************************************************************
*/

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections;
using Shpm.System.Db;
using Shpm.App.Commons.Db.Beans.Master;
using Shpm.App.Input.Bean;
namespace Shpm.App.Input.Dao
{
    public class PersonJobDao : ShpmBaseDao
    {

        // 从数据字典中取得画面列表项内容
        public const string FIND_BY_CATALOG = "CommonDictionary.FindByCatalog";

        // 职位信息 list
        public const string LIST_RESULT = "PersonJob.LstResult";

        // 职位信息 list
        public const string LIST_JOB = "PersonJob.LstJob";

        // 职位信息 find
        public const string FIND = "PersonJob.GetJob";

        // 职位信息 getKeyValue
        public const string GET_KEY_VALUE = "PersonJob.GetKeyValue";

        // 职位信息 chkUsed
        public const string CHECK_USED = "PersonJob.ChkUsed";

        // 部门信息 list
        public const string LIST_GROUP = "PersonJob.LstGroup";

        // 职位信息 insert
        public const string INSERT_PERSONJOB = "PersonJob.Insert";

        // 职位信息 update
        public const string UPDATE_PERSONJOB = "PersonJob.Update";

        // 职位信息 updateSerial
        public const string UPDATE_SERIAL = "PersonJob.UpdSerial";

        // 职位信息 updateUnderline
        public const string UPDATE_UNDERLINE = "PersonJob.UpdUnderLine";

        // 职位信息 delete
        public const string DELETE = "PersonJob.Delete";

        public PersonJobDao()
        {
        }

        /*
         *名称： FindByCatalog
         *功能： 取得数据字典列表对象。
         *参数： paramBean - 检索参数
         *返回： 数据字典列表 
         *说明： 从数据字典中取得画面列表项内容
        */
        public IList FindByCatalog(CommonDictionaryBean paramBean)
        {
            return base.QueryForList(FIND_BY_CATALOG, paramBean);
        }

        /*
         *名称： ListResult
         *功能： 取得职位信息列表对象。
         *参数： paramBean - 检索参数
         *返回： 职位信息列表 
         *说明： 从职位信息中取得画面列表项内容
        */
        public IList ListResult(PersonJobBean paramBean)
        {
            return base.QueryForList(LIST_RESULT, paramBean);
        }

        /*
         *名称： ListJob
         *功能： 取得职位信息列表对象。
         *参数： paramBean - 检索参数
         *返回： 职位信息列表 
         *说明： 从职位信息中取得画面列表项内容
        */
        public IList ListJob(PersonJobBean paramBean)
        {
            return base.QueryForList(LIST_JOB, paramBean);
        }


        /*
       *名称： FIND
       *功能： 取得职位信息对象。
       *参数： paramBean - 检索参数
       *返回： 职位信息对象 
       *说明： 取得职位信息信息 get by id
      */
        public PersonJobBean Find(PersonJobBean paramBean)
        {
            return (PersonJobBean)base.QueryForObject(FIND, paramBean);
        }

        /*
       *名称： GetKeyValue
       *功能： 取得职位信息对象。
       *参数： paramBean - 检索参数
       *返回： 职位信息对象 
       *说明： 取得职位信息信息 get by id
      */
        public PersonJobBean GetKeyValue(PersonJobBean paramBean)
        {
            return (PersonJobBean)base.QueryForObject(GET_KEY_VALUE, paramBean);
        }

        /*
         *名称： CheckUsed
         *功能： 取得职位信息列表对象。
         *参数： paramBean - 检索参数
         *返回： 职位信息列表 
         *说明： 从职位信息中取得画面列表项内容
        */
        public IList CheckUsed(PersonJobBean paramBean)
        {
            return base.QueryForList(CHECK_USED, paramBean);
        }

        /*
         *名称： ListGroup
         *功能： 取得部门信息列表对象。
         *参数： paramBean - 检索参数
         *返回： 部门信息列表 
         *说明： 从部门信息中取得画面列表项内容
        */
        public IList ListGroup(PersonJobBean paramBean)
        {
            return base.QueryForList(LIST_GROUP, paramBean);
        }

        /*
         *名称： Insert
         *功能： 登录职位信息对象。
         *参数： paramBean - 登录对象
         *返回： 登录的对象
         *说明： 职位信息 insert 
        */
        public Object InsertPersonJob(PersonJobBean paramBean, PersonJobBean superiorBean)
        {
            try
            {
                base.BeginTransaction();
                Object result = base.Insert(INSERT_PERSONJOB, paramBean);
                base.Update(UPDATE_SERIAL,superiorBean);
                base.CommitTransaction();
                return result;
            }
            catch (Exception e)
            {
                base.RollBackTransaction();
                throw e;
            }
        }

        /*
         *名称： Update
         *功能： 更新职位信息对象。
         *参数： paramBean - 更新对象
         *返回： 更新记录数
         *说明： 职位信息 update 
        */
        public int UpdatePersonJob(PersonJobBean paramBean)
        {
            return base.Update(UPDATE_PERSONJOB, paramBean);
        }

        /*
         *名称： Update
         *功能： 更新职位信息对象。
         *参数： paramBean - 更新对象
         *返回： 更新记录数
         *说明： 职位信息 update 
        */
        public int UpdatePersonJob(PersonJobBean paramBean, PersonJobBean superiorBean)
        {
            try
            {
                base.BeginTransaction();
                int result = base.Update(UPDATE_PERSONJOB, paramBean);
                base.Update(UPDATE_SERIAL, superiorBean);
                base.Update(UPDATE_UNDERLINE, paramBean);
                base.CommitTransaction();
                return result;
            }
            catch (Exception e)
            {
                base.RollBackTransaction();
                throw e;
            }
        }
        /*
         *名称： Delete
         *功能： 删除职位信息对象。
         *参数： paramBean - 删除对象
         *返回： 删除记录数
         *说明： 职位信息 delete 
        */
        public int Delete(PersonJobBean paramBean)
        {
            return base.Delete(DELETE, paramBean);
        }
    }
}